// Written by Craig'n'Dave
using System;
// Insertion sort
namespace ConsoleApp1
{
    class Program
    {
        static string[] insertion_sort(string[] items)
        {
            int n = items.Length;
            int index, index2;
            string current;
            // Consider all the items
            for (index = 1; index < n; index++)
            {
                current = items[index];
                index2 = index;
                // Find position and move items down one index to make space for new item
                while ((index2 > 0) && (String.Compare(items[index2 - 1], current) > 0))
                {
                    items[index2] = items[index2 - 1];
                    index2 = index2 - 1;
                }
                // Insert new item in correct position
                items[index2] = current;
            }
            return items;
        }


        // Main program starts here
        static void Main(string[] args)
        {
            string[] items = { "Florida", "Georgia", "Delaware", "Alabama", "California" };
            items = insertion_sort(items);
            Console.WriteLine(String.Join(", ", items));
        }
    }
}
